A variety of computer-based systems for facilitating communications among users have been developed. For example, electronic mail (email) systems allow users to send messages to one or more specified recipients. The specified recipients of a message may retrieve and read the message at any time, and may respond to the message or forward it to other users. Email systems typically provide the ability to create mailing lists to facilitate communication among groups of users having common roles or interests. News services (also referred to as “clipping services”) deliver to users selected news articles covering topics of interest to the users. Such news services typically select which news articles to deliver to users by comparing words in the news articles to keywords provided by the users. Electronic bulletin board systems allow groups of users to create electronic bulletin boards, also referred to as “newsgroups,” that typically correspond to a particular topic. Any user who subscribes to a newsgroup may post messages to the newsgroup and read messages posted to the newsgroup by other subscribed users. Electronic “chat rooms” enable users to communicate with each other in real-time by entering messages that are immediately communicated to and viewable by other users in the same chat room. The public Internet is increasingly being used as a medium for these and other forms of electronic communication.
One problem associated with such communication systems is that of “information overload.” Users of such systems often find themselves presented with such a large volume of information (e.g., email messages or newsgroup postings) that they find it difficult or impossible to manually examine all of the information in order to identify the information that is relevant to them. As a result, users may fail to receive or read information that is relevant to them and to engage in potentially fruitful communications. Similarly, users who transmit information using such communications systems may fail to reach desirable recipients because such recipients are unable to separate relevant from irrelevant messages.
A variety of automated and semi-automated systems have been developed to help users organize and filter information received using electronic communications systems. For example, some systems attempt to deliver messages only to users to whom the messages are relevant. Such systems typically allow each user to define a set of preferences that indicate the user's interests. Such preferences may, for example, include keywords that describe the user's interests. Typically, such systems store incoming messages in a database as they are received by the system. When a certain number of messages have been received, the system performs a query on the database using each user's preferences. Each query typically produces scores for the messages in the database indicating the relative relevancies of the messages. The system uses these scores to determine which messages stored in the database are sufficiently relevant to forward to the corresponding user.
One problem with such conventional systems is that they require that multiple messages be received by the system before the relevancies of the messages can be determined. This requirement delays the delivery of incoming messages to users of the system. Such systems may therefore not be appropriate for environments in which communications need to be delivered quickly, such as enterprise email systems.
Another problem with such conventional systems is that their performance degrades as the number of system users increases. As described above, such systems perform a database query for each user of the system. The number of queries that must be performed therefore increases in proportion to the number of system users. Performance of such queries on large databases of messages can impose a significant load on the system and further delay the transmission of communications to appropriate recipients.
A further problem with such conventional systems is that users of such systems have limited control over the number and frequency of messages they receive from the system. Defining user preferences using keywords primarily serves to define the subject matter in which the user is interested, but does not place any bounds on the number or frequency of messages that the system will deliver to the user. As a result, users of such systems may experience “down” times during which they are ready and willing to receive, read, and respond to messages but during which they receive few messages or none at all. Similarly, users of such systems may be overloaded by a flood of messages that match the users' preferences. Such systems, therefore, fail to address a primary aspect of the problem of information overload.
Similar problems arise in systems that allow users to define a fixed relevancy threshold for incoming messages. Such systems compare the computed relevancy score of each incoming message to the fixed relevancy threshold defined by each user to determine whether to forward the incoming message to each user. When the system receives a large number of messages that exceed a user's relevancy threshold, the user will be overwhelmed with incoming messages. Similarly, when the system receives few messages that exceed a user's relevancy threshold, the user will receive few messages, even if the user is willing and available to read additional messages. Use of fixed thresholds, therefore, does not allow the frequency with which messages are delivered to users to change in response to the frequency and relevancy of incoming messages or to the preferences or activity levels of users.
Some systems allow users to set a fixed limit on the number of incoming messages to be delivered to them periodically (e.g., each day). The problems associated with such systems are similar to those described above. For example, if a large number of highly-relevant messages are received by the system in one day, the user will fail to receive relevant messages. Similarly, if the system receives many low-relevancy messages in one day, the user will receive few messages during the day, even if the user is willing and available to read more messages. Such systems, therefore, fail to respond to users' changing preferences and activity levels of users.